<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" /><button>点击</button>
		<script>
			// 1.数组方法			
			// forEach迭代遍历数组
			var arr1 = [8, 2, 3, 4, 5, 6];
			var sum = 0;
			arr1.forEach(function(value, index, array) {
				console.log(value); //依次输出数组里面的值
				//console.log(index);//依次输出数组里面值的索引号
				//console.log(array);//输出数组
				sum += value;
				return true; //forEach里面return不会终止迭代
			})
			console.log(sum);
			
			// filter筛选数组
			var newArr1 = arr1.filter(function(value) {
				//return value >= 3;
				return value % 2 === 0; //filter里面return不会终止迭代
			})
			console.log(newArr1);
			
			// some查找数组中是否有满足条件的元素，如果找到为true，则终止循环
			var flag = arr1.some(function(value) {
				return value === 10; //some里面return会终止迭代
			})
			console.log(flag); //false
			
			// -----------------------------------------------------------------			
			// 2.字符串方法
			// trim方法去除字符串两侧空格
			var str = '   abcd  efg   ';
			console.log(str);
			var str1 = str.trim();
			console.log(str1);
			
			var input = document.querySelector('input');
			var btn = document.querySelector('button');
			btn.onclick = function() {
				if (input.value.trim() === '') {
					alert('请输入内容');
				} else {
					console.log(input.value.trim());
				}
			}
			
			// -----------------------------------------------------------------	
			
			// 3.对象方法
			var obj = {
				id: 1,
				name: 'andy',
				score: 100,
			}
			// Object.keys()用于获取对象自身所有属性,类似于for...in,返回一个由属性名组成的数组		
			var arr = Object.keys(obj);
			arr.forEach(function(value) {
				console.log(value);
			})
			
			// -----------------------------------------------------------------	
			// Object.defineProperty()定义新属性或修改原来的属性
			//obj.name = 'haha';//以前定义和修改属性的方法
			// console.log(obj);
			Object.defineProperty(obj, 'num', {
				// obj里面有num属性则会修改值,没有则添加
				value: 2000,
				// 值为false,则不允许遍历这个值		
				enumerable: false,
			})
			console.log(Object.keys(obj));
			Object.defineProperty(obj, 'id', {
				// 这个值是否可以修改，false不可修改		
				writable: false,
				// 这个属性是否可以删除，false不可删除		
				configurable: false,
			})
			obj.id = 2;
			delete obj.id;
			console.log(obj);
		</script>
	</body>
</html>
